package vip.xiaonuo.supplier.modular.finance.accounttype.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import vip.xiaonuo.supplier.modular.finance.accounttype.entity.SupplierAccountType;
import vip.xiaonuo.supplier.modular.finance.accounttype.param.SupplierAccountTypeAddParam;
import vip.xiaonuo.supplier.modular.finance.accounttype.param.SupplierAccountTypeEditParam;
import vip.xiaonuo.supplier.modular.finance.accounttype.param.SupplierAccountTypeIdParam;
import vip.xiaonuo.supplier.modular.finance.accounttype.param.SupplierAccountTypePageParam;

import java.util.List;

/**
 * 账户类型Service接口
 *
 * @author Mr.wu
 * @date  2025/03/17 17:12
 **/
public interface SupplierAccountTypeService extends IService<SupplierAccountType> {

    /**
     * 获取账户类型分页
     *
     * @author Mr.wu
     * @date  2025/03/17 17:12
     */
    Page<SupplierAccountType> page(SupplierAccountTypePageParam supplierAccountTypePageParam);

    /**
     * 添加账户类型
     *
     * @author Mr.wu
     * @date  2025/03/17 17:12
     */
    void add(SupplierAccountTypeAddParam supplierAccountTypeAddParam);

    /**
     * 编辑账户类型
     *
     * @author Mr.wu
     * @date  2025/03/17 17:12
     */
    void edit(SupplierAccountTypeEditParam supplierAccountTypeEditParam);

    /**
     * 删除账户类型
     *
     * @author Mr.wu
     * @date  2025/03/17 17:12
     */
    void delete(List<SupplierAccountTypeIdParam> supplierAccountTypeIdParamList);

    /**
     * 获取账户类型详情
     *
     * @author Mr.wu
     * @date  2025/03/17 17:12
     */
    SupplierAccountType detail(SupplierAccountTypeIdParam supplierAccountTypeIdParam);

    /**
     * 获取账户类型详情
     *
     * @author Mr.wu
     * @date  2025/03/17 17:12
     **/
    SupplierAccountType queryEntity(String id);
}
